var FormWizard = (function () {
  return {
    // main function to initiate the module
    init: function () {
      if (!jQuery().bootstrapWizard) {
        return
      }

      // default form wizard
      $('#form_wizard_1').bootstrapWizard({
        nextSelector: '.button-next',
        previousSelector: '.button-previous',
        onTabClick: function (tab, navigation, index) {
          alert('on tab click disabled')
          return false
        },
        onNext: function (tab, navigation, index) {
          var total = navigation.find('li').length
          var current = index + 1
          // set wizard title
          $('.step-title', $('#form_wizard_1')).text('Step ' + (index + 1) + ' of ' + total)
          // set done steps
          jQuery('li', $('#form_wizard_1')).removeClass('done')
          var li_list = navigation.find('li')
          for (var i = 0; i < index; i++) {
            jQuery(li_list[i]).addClass('done')
          }

          if (current == 1) {
            $('#form_wizard_1').find('.button-previous').hide()
          } else {
            $('#form_wizard_1').find('.button-previous').show()
          }

          if (current >= total) {
            $('#form_wizard_1').find('.button-next').hide()
            $('#form_wizard_1').find('.button-submit').show()
          } else {
            $('#form_wizard_1').find('.button-next').show()
            $('#form_wizard_1').find('.button-submit').hide()
          }
          App.scrollTo($('.page-title'))
        },
        onPrevious: function (tab, navigation, index) {
          var total = navigation.find('li').length
          var current = index + 1
          // set wizard title
          $('.step-title', $('#form_wizard_1')).text('Step ' + (index + 1) + ' of ' + total)
          // set done steps
          jQuery('li', $('#form_wizard_1')).removeClass('done')
          var li_list = navigation.find('li')
          for (var i = 0; i < index; i++) {
            jQuery(li_list[i]).addClass('done')
          }

          if (current == 1) {
            $('#form_wizard_1').find('.button-previous').hide()
          } else {
            $('#form_wizard_1').find('.button-previous').show()
          }

          if (current >= total) {
            $('#form_wizard_1').find('.button-next').hide()
            $('#form_wizard_1').find('.button-submit').show()
          } else {
            $('#form_wizard_1').find('.button-next').show()
            $('#form_wizard_1').find('.button-submit').hide()
          }

          App.scrollTo($('.page-title'))
        },
        onTabShow: function (tab, navigation, index) {
          var total = navigation.find('li').length
          var current = index + 1
          var $percent = (current / total) * 100
          $('#form_wizard_1').find('.bar').css({
            width: $percent + '%'
          })
        }
      })

      $('#form_wizard_1').find('.button-previous').hide()
      $('#form_wizard_1 .button-submit').click(function () {
        alert('Finished! Hope you like it :)')
      }).hide()
    }

  }
}())
